﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PetShopService {

    public class CompraServicos {

        PetShopService.PedidoServico pedidoService = new PedidoServico();
        PetShopService.ProdutoServicos produtoService = new ProdutoServicos();
        BancoEntities banco = new BancoEntities();

        public void SalvarCompra() {

                Compra compra = new Compra();
                decimal totalCompra = 0;


                List<ItensCompra> itensCompra = new List<ItensCompra>();

                foreach (ProdutoCarrinho produto in  pedidoService.produtosCompra) {
                    ItensCompra itemCompra = new ItensCompra();
                    Produto oProduto =  banco.Produto.SingleOrDefault(p=> p.idProduto == produto.idProduto);
                    oProduto.Saldo = oProduto.Saldo + produto.quantidade;
                    banco.SaveChanges();
                    itemCompra.idProduto = produto.idProduto;
                    itemCompra.Preco = produto.preco;
                    itemCompra.Quantidade = produto.quantidade;
                    itemCompra.Compra = compra;
                    totalCompra = totalCompra + (itemCompra.Preco * itemCompra.Quantidade);
                    itensCompra.Add(itemCompra);
                }

                compra.valorTotal = totalCompra;
                compra.ItensCompra = itensCompra;
                compra.dtCompra = DateTime.Now;
                banco.Compra.Add(compra);
                banco.SaveChanges();
        }

        public List<Compra> RetornaUltimasCincoComrpas(){
            return banco.Compra.OrderByDescending(c => c.dtCompra).Take(5).ToList();
        }
    }

    
}
